home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 476-500 / disk_481 / tlpatch / readme < prev    next >
Text File  |  1992-05-06  |  8KB  |  187 lines

  1.  
  2.                          ***************************
  3.                         **      TLPatch V1.0       **
  4.                        *** Richard Sheppard - 1991 ***
  5.                         **    Toronto, Canada      ** 
  6.                          ***************************
  7.  
  8.           A utility to allow corrections in pronunciation for programs
  9.        that use the Translate() function. It is offered as "freeware"
  10.        without support (or liability) in return for my years of pleasure
  11.        with the Amiga. I hope it can be useful.
  12.  
  13.           One of the unique features of the Amiga is its ability to 
  14.        translate english text into spoken audio. This is a two-stage 
  15.        process involving the Translate() function which converts the 
  16.        text into phonemes, and the Narrator device which uses the 
  17.        phonemes to synthesize the voice.
  18.           Unfortunately, this feature appears to be underutilized, due
  19.        perhaps to the many words which do not translate accurately.
  20.        This program allows you to extract the exception table from the 
  21.        translator.library, and using a text editor, edit the table 
  22.        then restore it back into the library. It is meant to work 
  23.        primarily with version 33.2 of the library and will warn if it 
  24.        finds another one although that may or may not be fatal. It is 
  25.        definitely a hack, so it could really scramble the code, but 
  26.        since it creates the new library in ram: you'll have a chance to
  27.        try it before replacing your working library. Programs that use 
  28.        the Translate() function such as SpeechToy and the SPEAK: device 
  29.        will receive a harmless error message from Translate() if the 
  30.        library is corrupt. 
  31.  
  32.        USAGE:
  33.                   assign LIBS: RAM:
  34.                   TLPatch [-x]
  35.  
  36.           Where "-x" is used to extract the existing exception table
  37.        from LIBS:translator.library and write it to ram:except.tbl
  38.        adding linefeeds between the exceptions. This can be used if you
  39.        wish to start with the original exception table or if you lose
  40.        your working copy of except.tbl. Without the "-x" option, TLPatch
  41.        will read except.tbl, which it expects to find in ram:, and create
  42.        a new translator.library in ram:.
  43.           The assignment command is necessary when you first begin the
  44.        session if you wish to try the new library, otherwise speech 
  45.        programs will continue to use the library they found in LIBS: on
  46.        disk. Subsequent invocations of TLPatch will free the library
  47.        pointer so that your latest edited library is the valid one.
  48.  
  49.                                  EXCEPTIONS
  50.  
  51.           An exception consists of text on the left of an '=' sign and 
  52.        the resultant phonemes on the right. The text contains the actual
  53.        characters to be converted which are surrounded by square 
  54.        brackets [], plus any leading or trailing characters whose context
  55.        might effect the sound, and possibly substitution symbols which 
  56.        can match a variety of input strings. Upper-case is used for the
  57.        input text and phonemes.
  58.  
  59.           For example:
  60.  
  61.         [AGO] =AHGOW2\
  62.  
  63.           Here all the input characters are translated and because the
  64.        input text has a space before and after it, only the word "ago"
  65.        will match this exception. If there were no spaces, "lagoon" would
  66.        also match, since it contains "ago", which is not desired. This
  67.        might be termed a "specific exception" as it fits a specific word.
  68.           Numbers such as the '2' in the example above can be added in the
  69.        phonetic string to add emphasis to vowels and dipthongs (not
  70.        consonants). Values from 1 to 5 are common.
  71.  
  72.        [A]SION=EY3\
  73.  
  74.           There is no leading space so this is a general exception which
  75.        will match all words ending "asion". Note that only the "a" part
  76.        is translated, the remainder being handled elsewhere.
  77.  
  78.        #:[EA] =IYAH\
  79.  
  80.           These are the tricky ones, being sort of "rule-based" they
  81.        match in cases where ANY vowel, consonant, etc. can occupy the
  82.        position of its substitution symbol in the input text. They are
  83.        tricky because if you create one, there may be words which you
  84.        hadn't considered which match. You might also defeat words which
  85.        had been correctly translated by creating an unforseen match.
  86.           In the example above "idea", "area" or "panacea" all fit.
  87.  
  88.           The advantage of rule-based exceptions is that they keep
  89.        the size of the library down by handling so many words.
  90.           There are eight substitution symbols that I am aware of,
  91.        they are ? ^ % + # : & and @. After studying the library and
  92.        experimenting I believe they represent the following values:
  93.  
  94.        ? = numbers     (0,1,2,3,4,5,6,7,8,9)
  95.  
  96.            e.g. ?[X]?= BAY`    - as in "2x4" (the 'X' becomes "by")
  97.  
  98.        ^ = consonants  (c,f,h,k,p,q,s,x)
  99.  
  100.            e.g. ^[AS]#=EYS\    - as in "CASE"
  101.  
  102.        % = vowels      (e)
  103.  
  104.            e.g. [NGL]%=NXGUL\  - as in "ANGLE"
  105.  
  106.        + = vowels      (e,i,y)
  107.  
  108.            e.g. [G]+=J\        - as in "AGE"
  109.  
  110.        # = vowels      (a,e,i,o,u,y)
  111.  
  112.            e.g. [BUS]#=BIH3Z\  - as in "BUSY"
  113.  
  114.        : = anything except a,e,i,o,u,y including NULL or SPACE
  115.  
  116.        & = consonants  (c,g,j,s,x,z)
  117.  
  118.            e.g. &[T]EN=\       - as in "LISTEN" (the 'T' is silent)
  119.  
  120.        @ = consonants  (d,j,l,n,r,s,t,z)
  121.  
  122.            e.g. @[EW]=UW\      - as in "CREW","DEW" or "NEW"
  123.  
  124.           Exceptions always end with either a "\" or "`", I have not
  125.       determined what difference it makes although the "\" is by far
  126.       the most common.
  127.  
  128.           I've included a simple program called "Translate" to access
  129.       the Translate() function. Usage from the CLI is:
  130.  
  131.                   Translate <text>
  132.  
  133.           <text> is your input text and can be one word as in:
  134.  
  135.                   Translate hello
  136.  
  137.           or a sentence in quotes as in:
  138.  
  139.                   Translate "hello world"
  140.  
  141.           Also included is my latest translator.library and exception
  142.       table, containing nearly 800 exceptions. Most notably corrections
  143.       to numbers as well as month abbreviations (Jan. Feb. etc.). A date
  144.       such as "1984" will read "nineteen eighty four" not "one nine eight
  145.       four". A number like "27,543" is pronounced "twenty seven thousand
  146.       five hundred and forty three" (the comma is important).
  147.  
  148.  
  149.  
  150.                               TABLE OF PHONEMES
  151.                                  (from RKM)
  152.  
  153.           Vowels -
  154.  
  155.              IY        beet   |  IH        bit    |  EH        bet
  156.              AE        bat    |  AA        hot    |  AH        under
  157.              AO        talk   |  UH        look   |  ER        bird
  158.              OH        border |  AX        about  |  IX        solid
  159.  
  160.           Dipthongs -
  161.  
  162.              EY        made   |  AY        hide   |  OY        boil
  163.              AW        power  |  OW        low    |  UW        crew
  164.  
  165.           Consonants -
  166.  
  167.              R         red    |  L         yellow |  W         away
  168.              Y         yellow |  M         men    |  N         men
  169.              NX        sing   |  SH        rush   |  S         sail
  170.              TH        thin   |  F         fed    |  ZH        pleasure
  171.              Z         has    |  DH        then   |  V         very
  172.              J         judge  |  CH        check  |  /C        loch
  173.              /H        hole   |  P         put    |  B         but
  174.              T         toy    |  D         dog    |  G         guest
  175.              K         could
  176.  
  177.           Special symbols -
  178.  
  179.              DX        pity   |  Q         kitten |  QX        pause
  180.              RX        car    |  LX        call
  181.  
  182.           Contractions -
  183.  
  184.              UL    =   AXL    |  IL    =   IXL    |  UM    =   AXM
  185.              IM    =   IXM    |  UN    =   AXN    |  IN    =   IXN
  186.  
  187.